home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d6 / mathpad.arc / MATHPAD.DOC < prev    next >
Text File  |  1987-08-20  |  46KB  |  891 lines

  1. .r:e
  2.                              MathPad, Version 1.0
  3. August 20, 1987
  4.  
  5. MathPad (copyright 1987) is a scientific calculator for the IBM computers
  6. and compatibles. Features include:
  7.  
  8. * addition, subtraction, multiplication, division, reciprocals, factorials.
  9. * raising to a power, extraction of roots, integer of a number, fraction 
  10.   of a number, squares and cubes, square roots.
  11. * exponential and logarithmic calculations (including natural logs, base 10, 
  12.   base 2).
  13. * full trigonometric capability including inverse and hyperbolic trig functions
  14.   (selectable in degrees or radians).
  15. * summation of a series of numbers, automatic calculation and storage of 
  16.   mean, standard deviation, and variance. 
  17. * coordinate conversion (polar to rectangular, rectangular to polar).
  18. * angle measure conversion (degrees to radians, radians to degrees).
  19. * calculation of permutations and combinations.
  20. * user-defined functions which are 
  21.   (a) solvable, via a half-interval search method, and 
  22.   (b) numerically integrable via user-selectable 20 point Gaussian quadrature 
  23.       or Trapezoidal Rule.
  24. * solution of up to eight simultaneous linear equations, with calculation of 
  25.   the determinant of the coefficient matrix as well as its inverse matrix.
  26. * (two) vector analysis, with dot and cross products, vector addition and 
  27.   subtraction.
  28.  
  29. In addition, MathPad makes available twenty-six storage locations, (called
  30. REGISTERS), which are fully manipulable in terms of storage, recall, viewing, 
  31. and erasure. 
  32.  
  33. Also, calculations are stack oriented. This means numbers are entered onto 
  34. an existing stack of numbers four numbers deep. Some functions (addition, 
  35. subtraction, etc., coordinate conversion, raising a number to a power) use the 
  36. first two numbers on this (always completely visible) stack. Other functions, 
  37. such as reciprocal, degree to radian conversion (and vice versa) use only the 
  38. top stack element. 
  39.  
  40. Instructions and examples are given upon entry into more involved parts of 
  41. MathPad, such as function definition. Please study this manual and have
  42. it handy as you begin learning to use MathPad. The goal has been to retain
  43. power in MathPad while making it understandable and easy to use for people
  44. with a basic high school math background.
  45.  
  46. MathPad requires 204K of memory to run. It is not memory resident. 
  47.  
  48. I welcome comments, suggestions, and criticisms of any kind about MathPad.
  49. I will be delighted to credit in the manual anyone suggesting a refinement 
  50. included in the next version of MathPad.
  51.  
  52. Many thanks to my wife Kathie. I would not have finished this project
  53. without her steadfast, interested, and enthusiastic involvement.
  54.  
  55. Tim Pera
  56. 605 Portland Ave. #1
  57. St. Paul, MN 55102
  58.                           MathPad Version 1.0, page 2
  59. MAIN MENU                                                                 
  60.  
  61. To start, type the program name, MathPad, at the DOS prompt and press the 
  62. carriage return (enter) key. This screen appears (here slightly modified):
  63.  
  64. ╔════════════════════════════════════════════╗ ╔══════════════════════════════╗
  65. ║               Top Input Area               ║ ║ Stack Registers:             ║
  66. ║                                            ║ ╟──────────────────────────────╢
  67. ╠════════════════════════════════════════════╣ ║ x:   0                       ║
  68. ║ Main Menu.                                 ║ ║ y:   0                       ║
  69. ╠══════════════════════╤═════════════════════╣ ║ z:   0                       ║
  70. ║ F1  Utilities        │ F2  Operations      ║ ║ t:   0                       ║
  71. ╟──────────────────────┼─────────────────────╢ ╠══════════════════════════════╣
  72. ║ F3  Arithmetic       │ F4  Trig functions  ║ ║ Storage Registers:           ║
  73. ╟──────────────────────┼─────────────────────╢ ╟──────────────────────────────╢
  74. ║ F5  Int, Frac, Roots │ F6  Log functions   ║ ║ 1:   0                       ║
  75. ╟──────────────────────┼─────────────────────╢ ║ 2:   0                       ║
  76. ║ F7  Store            │ F8  Recall          ║ ║ 3:   0                       ║
  77. ╟──────────────────────┼─────────────────────╢ ║ 4:   0                       ║
  78. ║ F9  Interchange x,y  │ F10  Roll the stack ║ ║ 5:   0                       ║
  79. ╠══════════════════════╧═════════════════════╣ ║ 6:   0                       ║
  80. ║                                            ║ ║ 7:   0                       ║
  81. ║                                            ║ ║ 8:   0                       ║
  82. ║                                            ║ ║ 9:   0                       ║
  83. ║               Small Window                 ║ ║ 10:  0                       ║
  84. ║                                            ║ ║ 11:  0                       ║
  85. ║                                            ║ ║ 12:  0                       ║
  86. ║                                            ║ ║ 13:  0                       ║
  87. ╚════════════════════════════════════════════╝ ╚══════════════════════════════╝
  88.                                    Figure 1.
  89.  
  90. Figure 1 shows a view of the Main Menu, as you can see by the title between 
  91. the two sets of double lines near the upper left corner. All Menus accessible 
  92. from this Main Menu will be similarly identified by a name located between 
  93. this same set of double lines. This is a modified view of MathPad, i.e. the 
  94. phrases "Small Window" and "Top Input Area" are shown only here to orient you 
  95. to different areas of the MathPad screen. Several interactions with MathPad 
  96. occur in the Small Window and Top Input Area. To the right are the Stack 
  97. Registers and Storage Registers. While some MathPad functions will completely 
  98. overwrite the left side of the screen, the Registers remain always visible. 
  99.  
  100. Figure 1 reveals the basic strategy behind using MathPad: identify the 
  101. operation you wish to perform and press a Function Key to perform it. At the 
  102. Main Menu are six submenus from which to choose, via the function keys F1 
  103. through F6, as shown. Since function keys F7 through F10 invoke the same 
  104. procedures on all Menus except the Operations Menu and the Utilities Menu, 
  105. these four procedures will be described first.
  106.  
  107. TO EXIT MathPad: type an "x" or an "X" at the Main Menu (only) and press the 
  108.                  carriage return. You are asked for confirmation to quit.
  109.                           MathPad Version 1.0, page 3
  110. STORE                                                                     
  111.  
  112. The last four function keys, F7 through F10 access the four functions shown 
  113. (Store, Recall, Interchange x,y, Roll the Stack) on each Menu except the
  114. Operations Menu and Utilities Menu. Notice that when F7 is pressed the
  115. Small Window at the bottom left opens up to initiate storage procedures. 
  116. The Small Window during Store looks like this:
  117.  
  118.                 ┌────────────────────────────────────────────┐
  119.                 │ These registers contain zero:              │
  120.                 │                                            │
  121.                 │  1   2   3   4   5   6   7   8   9         │
  122.                 │ 10  11  12  13  14  15  16  17  18         │
  123.                 │ 19  20  21  22  23  24  25  26             │
  124.                 │                                            │
  125.                 │ Enter storage register number: _           │
  126.                 └────────────────────────────────────────────┘
  127.                                    Figure 2.
  128.  
  129. What number are you storing? In all cases, invoking storage procedures by 
  130. pressing F7 means storing a COPY of the value in Stack Register x (top right 
  131. screen in Figure 1) in the Storage Register (bottom right screen) you specify. 
  132. Notice that only Storage Registers one through thirteen are initially visible. 
  133. At all times, storing a value in one of the thirteen Storage Registers not
  134. visible toggles the Storage Registers so it DOES become visible. 
  135.  
  136. If any registers contain the value zero, that message is given (as shown) and
  137. the register(s) listed (see Figure 2). In this way you are informed that
  138. choosing to store a value in a register not listed means overwriting a value
  139. you may wish to preserve. The cursor blinks on the bottom line waiting for
  140. you to enter a Storage Register number. A carriage return here will cancel
  141. this procedure and return you to the Menu from which storage procedures were 
  142. invoked, be it the Main Menu, Arithmetic Menu, etc. There are twenty-six 
  143. Storage Registers so you must enter an integer between 1 and 26 inclusive. 
  144. Out of range and illegal input (described below) is erased and MathPad awaits 
  145. a valid number, or a carriage return to cancel storage procedures. A two-digit 
  146. number entered here should not be followed by a carriage return; a one-digit 
  147. number must be followed by a carriage return. 
  148. ────────────────────────────────────────────────────────────────────────────────
  149.  
  150. RECALL
  151.  
  152. Pressing F8 (from nearly all Menus) begins Recall activity. The message in 
  153. Top Input Area reveals that a number from a Storage Register is about to be 
  154. recalled and put into Stack Register x. Whenever Recall is executed, a value 
  155. from a Storage Register you specify is put into the x-register. The same rules 
  156. apply: 
  157.  
  158.    (a) enter a number from 1 to 26 inclusive,
  159.    (b) illegal input is erased and MathPad awaits legal input, and
  160.    (c) a carriage return cancels the activity and returns you to the preceding 
  161.        Menu. 
  162.  
  163.                           MathPad Version 1.0, page 4
  164. INTERCHANGE x,y
  165.  
  166. F9 is very simple: in all cases it interchanges the values in the x- and y-
  167. Stack Registers. Thus what was in the y-register is placed into the x-register 
  168. and vice versa. The z- and t-registers are unaffected. The options to 
  169. Interchange x,y and to Roll the Stack (described below) are provided because 
  170. some two-number calculations in MathPad require values of certain variables 
  171. to be in specific Stack Registers. For example, polar to rectangular 
  172. coordinate conversion assumes the x-register value is the radius and the y-
  173. register value is the angle measure. The procedures Interchange x,y and Roll 
  174. the Stack provide for adjusting incorrect order without re-entering numbers. 
  175. ────────────────────────────────────────────────────────────────────────────────
  176.  
  177. ROLL THE STACK
  178.  
  179. F10 interchanges all values in the Stack Registers. It works this way: 
  180. After pressing F10, what was in t-register is now in the z-register, what was 
  181. in z-register is now in the y-register, y...x, x...t. Think of it as pushing 
  182. up on the stack with everything moving up one register. The "lid" (the x-
  183. register value) pops off and assumes the z-register position. Pressing F10 
  184. four times in succession restores the original order. Enter four different 
  185. numbers and experiment with F10. You will quickly see how it works. 
  186. ────────────────────────────────────────────────────────────────────────────────
  187.  
  188. ENTERING NUMBERS
  189.  
  190. Entering numbers is very easy in MathPad. If you do not have MathPad running, 
  191. please start it now. A diamond shaped symbol and a blinking cursor, along with 
  192. this message: 
  193.  
  194.                     Enter a number or press a Function Key.
  195.  
  196. occupy the Top Input Area. This signals that you have the option of pressing a 
  197. function key or entering a number. There are several things to keep in mind 
  198. about entering numbers: 
  199.  
  200. (a) When you attempt to enter a number, only legal numeric symbols are accepted.
  201.     The symbols are:
  202.  
  203.     i.   the 10 digits (0 through 9),
  204.     ii.  the decimal point (period key),
  205.     iii. the negative (minus) sign, 
  206.     iv.  "e" and "E". 
  207.  
  208.     All other (illegal) symbols are not displayed and MathPad waits for a 
  209.     legal symbol. (See examples below of legal and illegal number entry.) 
  210.  
  211. (b) Input is not allowed to spill past the first vertical double line to the 
  212.     right of the diamond input prompt. Attempting to enter numbers past this 
  213.     physical screen location forces an automatic carriage return and the number 
  214.     thus entered is displayed in Stack Register x. That number at the input 
  215.     prompt disappears. At this point the blank line beyond the diamond prompt, 
  216.     and blinking cursor, mean you may enter another number or press a function 
  217.     key to perform a calculation. In other parts of MathPad you will enter 
  218.     numbers at a prompt not located in the Top Input Area. But when you DO 
  219.     enter a number at the diamond prompt, it always ends up in Stack Register 
  220.     x. And it is there (at Stack Register x) that calculations are performed
  221.     with it. 
  222.                           MathPad Version 1.0, page 5
  223.  
  224. (c) To edit numeric input, press the backspace key (the left-pointing-arrow
  225.     key). One press of this key erases the character to the cursor's
  226.     immediate left. You may erase as many characters with this key as you 
  227.     wish. 
  228.  
  229. (d) You may enter numbers either with or without a modified scientific 
  230.     notation. In the former case, the symbols "e" and "E" are equivalent and 
  231.     always interchangeable. An integer following "e" or "E" represents the 
  232.     power to which the number 10 is raised. The result then multiplies the 
  233.     number appearing before the "e" or "E". A negative integer appearing after 
  234.     "e" or "E" is legal. 
  235.  
  236.     Example: 2.34e11 and 2.34E11 both represent the number 2.34 times 10 raised 
  237.     to the eleventh power. Not using scientific notation, this number can be 
  238.     represented as 234000000000.
  239.     
  240.     Example: 0.18e-3 and 0.18E-3 both represent the number 0.18 times 10 raised 
  241.     to -3 power. Not using scientific notation, this number can be represented 
  242.     as 0.00018.
  243.  
  244.  
  245. Here are some examples of legal and illegal number entry:
  246.  
  247.    Legal:                              Illegal:
  248.    1                                   e4      ("e" and "E" must be preceded 
  249.    1.23                                E6        by a number.)
  250.    -2.2E3   (= -2200)                  2.3e.6  ("e" and "E" must be followed 
  251.    -.032                                         by an integer, not a decimal.)
  252.    1e6      (= 1000000)
  253.    1E2      (= 100)
  254.    23E45    (= 23 times 10 to the 45th power)
  255.    4.e4     (the decimal point is ignored, = 40000)
  256.    5.67E-2  (= .0567)
  257.  
  258. Experiment with entering numbers.
  259. ────────────────────────────────────────────────────────────────────────────────
  260.  
  261. UTILITIES
  262.                  ┌───────────────────────────────────────────┐
  263.                  │ 1. Toggle register contents.              │
  264.                  │ 2. Erase stack.                           │
  265.                  │ 3. Erase registers.                       │
  266.                  │ 4. Fix decimal point.                     │
  267.                  │ 5. DOS shell.                             │
  268.                  │ 6. Redraw screen.                         │
  269.                  └───────────────────────────────────────────┘
  270.  
  271. F1 invokes the Utilities Menu. Utilities is available on nearly all Menus, and
  272. always (and only) by pressing F1. 
  273.  
  274. The options are displayed in the Small Window. They are: 
  275.  
  276. 1. TOGGLE REGISTER CONTENTS. Typing a 1 here (no carriage return is required 
  277.                              when choosing options in Utilities) will cause 
  278.    the unseen half of the twenty-six Storage Registers to become visible in 
  279.    the lower right-hand corner of the screen. 
  280.                           MathPad Version 1.0, page 6
  281.  
  282. 2. ERASE STACK. The numbers in the x-, y-, z-, and t-registers are 
  283.                 irretrievably (unless stored) lost and replaced with 0.
  284.  
  285. 3. ERASE REGISTERS. The values in all Storage Registers are irretrievably 
  286.                     lost (unless recalled to Stack Registers) and replaced 
  287.                     with 0. 
  288.  
  289. After exercising any of the above three options you are left at the Utilities 
  290. Menu. Press the carriage return to return to the Menu from which Utilities was 
  291. invoked. 
  292.  
  293. 4. FIX DECIMAL POINT. MathPad always performs calculations using numbers with 
  294.    fifteen decimal places, called DOUBLE PRECISION numbers. MathPad shows 
  295.    numbers using all fifteen decimal places unless you specify a different 
  296.    number of decimal places to show. In all your calculations you have to be 
  297.    the judge of how many displayed digits are meaningful. You may choose how 
  298.    many of those decimal places to view. After typing 4 at the Utilities Menu, 
  299.    this message appears in the Top Input Area:
  300.  
  301.    Fix decimal point in stack and registers.
  302.    How many decimal places (max = 15) ? _
  303.  
  304.    Enter an integer between 1 and 15 inclusive. It is not necessary to press 
  305.    the carriage return after two-digit entry. Illegal characters are not 
  306.    displayed. From this point on all register values are displayed to the 
  307.    number of decimal points just specified. Only calculations done on the 
  308.    stack (such as add and multiply) are affected by "Fix decimal point" 
  309.    operations. For example, the inverse matrix in "Linear System" and the 
  310.    determinant and solutions calculated there are always displayed to fifteen 
  311.    decimal places although, as implied, often not all decimal places are 
  312.    significant. If you specified the number of decimal places TO SHOW as 4 
  313.    however, the determinant that is automatically put in the x-register is 
  314.    shown to four decimal places. Likewise, if you choose to store the 
  315.    solutions, they are displayed to four decimal places in the Storage 
  316.    Registers. It is important to know however that in all cases calculations 
  317.    are performed in "double precision". This means that when you recall and 
  318.    calculate with a stored value that is displayed in a Storage Register to 
  319.    say six decimal places, the calculation is done with the double precision 
  320.    "twin" of that number, which MathPad always retains separately. 
  321.  
  322.    If you choose to show less than fifteen decimal places, MathPad rounds 
  323.    displayed numbers up or down depending on the digit to the right of the 
  324.    right-most digit you wish to view. If the digit to the right of the right-
  325.    most digit you wish to view is less than 5, then the digits you do not want 
  326.    displayed appear simply to have been chopped off. If the digit to the 
  327.    right of the right-most digit you wish to view is greater than or equal to 
  328.    five, then the right-most digit seen is one greater. For example, suppose 
  329.    you want numbers shown to six decimal places. Then 
  330.  
  331.        .094657230123613 is shown as .094657 since 2 to the right of 7 is 
  332.         less than 5. 
  333.  
  334.        .794250527128819 is shown as .794251 since 5 to the right of 0 is 
  335.         greater than or equal to 5.
  336.                           MathPad Version 1.0, page 7
  337.  
  338. 5. DOS SHELL. Typing 5 here causes MathPad to turn control over to the Disk
  339.    Operating System (DOS), where another program may be run or DOS 
  340.    housekeeping chores may be performed. When you wish to return to MathPad, 
  341.    type the DOS command EXIT at the DOS prompt (upper or lower case) and press 
  342.    the carriage return. You will return to MathPad at the point of exit 
  343.    (actually, at the Menu from which Utilities was called, from which then the 
  344.    DOS shell was invoked), with everything as it was when you left MathPad. 
  345.    All functions previously defined are preserved, as well as the most recent 
  346.    Integration and Solve results and all thirty Register values. 
  347.          ┌───────────────────────────────────────────────────────────┐
  348.          │ *** The DOS shell requires DOS VERSION 3.0 or higher. *** │
  349.          └───────────────────────────────────────────────────────────┘
  350.  
  351. 6. REDRAW SCREEN. In case unforeseen events occur that make the screen 
  352.    difficult to read, type 6 to redraw the screen while preserving every-
  353.    thing stored in memory. This is nothing more or less than a screen redraw.
  354. ────────────────────────────────────────────────────────────────────────────────
  355.  
  356. OPERATIONS MENU
  357.                  ┌───────────────────────────────────────────┐
  358.                  │ F1  Utilities         F2  Statistics      │
  359.                  │ F3  (x,y) to (r,Θ)    F4  Deg to rad      │
  360.                  │ F5  P(y,x), C(y,x)    F6  Define function │
  361.                  │ F7  Integrate         F8  Solve           │
  362.                  │ F9  Linear system     F10 Vector math     │
  363.                  └───────────────────────────────────────────┘ 
  364.  
  365. Focusing again on the Main Menu (Figure 1.), pressing F2 summons the 
  366. Operations Menu. 
  367.  
  368. F1: UTILITIES. Whenever you press F1 to invoke Utilities, on this and on all 
  369.     Menus, the same options are available as described in Utilities above.
  370.  
  371. F2: STATISTICS. Invokes a procedure which sums a series of numbers. As each 
  372.     number is entered the following information on the screen is updated: the 
  373.     most recently entered value, the sum of all values so far entered, and how 
  374.     many numbers have been entered so far. A carriage return signals end of 
  375.     input, after which the mean, standard deviation, variance, the number of 
  376.     numbers summed, and the sum itself are displayed. These statistics are 
  377.     automatically stored in Storage Registers 21 through 26. Options exist to 
  378.     (a) store a second copy of these statistics in Storage Registers 17 
  379.     through 21 (in case you wish to sum a second series and not overwrite the 
  380.     previous results) and (b) to review the numbers you entered. 
  381.  
  382. F3: Rectangular to polar, polar to rectangular coordinate conversion. You 
  383.     may select which conversion to perform. For rectangular to polar 
  384.     conversion, x- and y- (Cartesian) coordinates are assumed to be in the x-
  385.     and y-registers. For polar to rectangular conversion, r (radius) and Θ 
  386.     (angle measure in degrees or radians) values are are assumed to be in the 
  387.     x- and y-registers. The Small Window opens with several options offered: 
  388.                           MathPad Version 1.0, page 8
  389.  
  390.                 ┌──────────────────────────────────┬─────────┐
  391.                 │ Coordinate conversion:           │ Mode: R │
  392.                 │                                  └─────────┤
  393.                 │ 1. (x,y) to (r,Θ)                          │
  394.                 │ 2. (r,Θ) to (x,y)                          │
  395.                 │ 3. Toggle degrees or radians.              │
  396.                 │                                            │
  397.                 │ Enter number or <CR> to cancel _           │
  398.                 └────────────────────────────────────────────┘
  399.  
  400.     Conversion can occur in either degree (D) or radian (R) mode. The current 
  401.     mode is indicated in the upper right-hand corner of the Small Window. Op- 
  402.     tion 3 toggles the mode. Toggling here is global, i.e., the mode in all 
  403.     three trig Menus (explained below) is toggled also. Option 1 performs 
  404.     rectangular to polar conversion, option 2 performs polar to rectangular 
  405.     conversion. Enter the option number only, without a carriage return. The 
  406.     results are shown in the Small Window and are also pushed onto the Stack, 
  407.     with y (or Θ) in the y-register and x (or r) in the x-register. 
  408.  
  409.     NOTE: A number "pushed onto the Stack" replaces the number previously in 
  410.     the x-register. This also means that:
  411.  
  412.     (a) what was in the x-register is now in the y-register, 
  413.     (b) what was in the y-register is now in the z-register, 
  414.     (c) what was in the z-register is now in the t-register and 
  415.     (d) what was in the t-register is irretrievably lost unless previously 
  416.         stored in a Storage Register.
  417.  
  418. F4: CONVERT. This converts degrees to radians or radians to degrees. The 
  419.     Small Window opens up this way:
  420.  
  421.                 ┌────────────────────────────────────────────┐
  422.                 │ Convert:                                   │
  423.                 │                                            │
  424.                 │ 1. Degrees to radians.                     │
  425.                 │ 2. Radians to degrees.                     │
  426.                 │                                            │
  427.                 │ Enter number or <CR> to cancel _           │
  428.                 │                                            │
  429.                 └────────────────────────────────────────────┘
  430.  
  431.     Enter the option number only, without a carriage return. The value in the 
  432.     x-register is converted accordingly and is placed in the x-register. 
  433.  
  434. F5: PERMUTATIONS AND COMBINATIONS. The Small Window opens and describes what 
  435.     is to be done: The total number of objects (N) should be in the y-register.
  436.     The number (S) of these objects to be considered at a time should be in 
  437.     the x-register. Permutations and combinations are calculated, shown in the 
  438.     Small Window and pushed on the stack. 
  439.                           MathPad Version 1.0, page 9
  440.  
  441. F6: DEFINE A FUNCTION. Selecting F6 presents these options:
  442.  
  443.     (a) define a new function,
  444.     (b) view a previously defined function and 
  445.     (c) erase all existing functions.
  446.  
  447.     Option 1: defining a new function. You may define a function with regular 
  448.     polynomial terms such as 3x² and with trigonometric functions sin, cos, 
  449.     tan, cot, sec, csc. If the function you want to define has terms similar 
  450.     in form to 3x², you are asked to enter the coefficient (3 in this example) 
  451.     and exponent (2 above) for each term separately. There are no default 
  452.     values (i.e., MathPad does not assume a value for you). For example, if 
  453.     your function has the term x you must enter 1 for the coefficient and 1 
  454.     for the exponent. Similarly, for constant terms (like -3), enter -3 for 
  455.     the coefficient and zero (0) for the exponent. Coefficients and exponents 
  456.     may be any real number. 
  457.  
  458.     For trig terms, again there are no default values. Four numbers must be 
  459.     entered for each trig term. For example, consider this term: 6∙tan²(-5x²) 
  460.     where the dot means multiplication. For this as for all trig terms, you 
  461.     must enter all four numbers in order from left to right. You will be asked 
  462.     to enter values for A,B,C and D where (in this example) A = 6, B = 2,
  463.     C = -5 and D = 2. If there are no explicit exponents, enter 1 for B and 1 
  464.     for D. Also, note that if the example was 6∙tan²(x²) instead of
  465.     6∙tan²(-5x²) you would enter A = 6, B = 2, C = 1 and D = 2. Thus you must 
  466.     enter a 1 for implicit coefficients and exponents. Coefficients and 
  467.     exponents may be any real number. Radian measure of the angle x is 
  468.     assumed. 
  469.  
  470. F7: INTEGRATE. After a function is defined this option selects numerical 
  471.     integration to compute the definite integral of a function. You select 
  472.     which function to integrate of the (potential) four on the function stack 
  473.     (see note below). The lower and upper limits of integration must be 
  474.     entered as well as the number of sub-intervals over which the integration 
  475.     is to be done. After the integral is computed a calculation summary is 
  476.     displayed in the Small Window Area. For a typical integration the 
  477.     calculation summary looks like this:
  478.  
  479.     Most recent results:              
  480.     Function integrated: number 1     
  481.     Method used:  Gaussian quadrature.
  482.     Lower limit:  5                   
  483.     Upper limit:  6                   
  484.     Intervals  :  3                   
  485.     Integral   :  5.500000020489097   
  486.  
  487.     There are two choices of integration method: 20 point Gaussian quadrature 
  488.     and the Trapezoidal Rule. The calculated integral is placed in the
  489.     x-register. 
  490.     
  491.     NOTE: the capability to view the function before manipulating it is 
  492.     provided within the Integrate and Solve options. View the function  
  493.     first to confirm you are dealing with the desired function. This is a good 
  494.     practice for this reason: up to four different functions are retained in 
  495.     memory at any given moment. As functions are defined they are pushed onto 
  496.     a function stack. Assume this stack is empty and you define (and save) a 
  497.     function. This function is now the first function on the stack. Imagine 
  498.     another function is defined and saved. This most recently defined function 
  499.                          MathPad Version 1.0, page 10
  500.  
  501.     is now function #1 on the stack. The first function is now function #2 on
  502.     the stack. Imagine that eventually a fifth function is defined. As that 
  503.     fifth function is saved, the function that was defined first is lost, 
  504.     since it had occupied position #4 prior to saving the fifth function and 
  505.     is now pushed off the stack with this as the fifth function is saved. Thus 
  506.     it is a good practice to view your function before you Integrate or Solve 
  507.     it.
  508.  
  509. F8: SOLVE. You select which function to solve of the potential four on the 
  510.     function stack. View the function before solving. You should make your 
  511.     best guess as to interval in which a root may lie. The search involves 
  512.     evaluating the function at random points within the interval and checking 
  513.     for a change of sign. The prompts guide you through entering the lower and 
  514.     upper limits of the interval. When a sign change is found a root is then 
  515.     approximated. If no sign change is found the assumption is made that no 
  516.     root lies in the specified interval and you are asked to input a new 
  517.     interval. Found roots are put in the x-register. 
  518.  
  519. F9: LINEAR SYSTEM. You may solve a system of up to eight simultaneous linear 
  520.     equations. You are asked to specify how many equations your system has.
  521.     The number of equations must be equal to the number of unknowns. You then 
  522.     enter the coefficient matrix from top row to bottom and left column to 
  523.     right. For example, consider this system of equations:
  524.  
  525.                         2∙x1 + 3∙x2 - .5∙x3 - 12∙x4 = 9
  526.                                5∙x2 +  3∙x3 +  4∙x4 = -3
  527.                         3∙x1        -  2∙x3         = 0
  528.                           x1 -   x2 -    x3         = 1
  529.  
  530.     (x1,x2,x3,x4 are all linear variables. The maximum number of equations 
  531.     solvable in MathPad is eight; in this case, MathPad expects eight unknown 
  532.     linear variables.) 
  533.  
  534.                This is the coefficient     This is the constant
  535.                matrix for this system:     matrix for this system:
  536.  
  537.                    2   3  -.5  -12                  9
  538.                    0   5    3   4                  -3
  539.                    3   0   -2   0                   0
  540.                    1  -1   -1   0                   1
  541.  
  542.  
  543.                Put together, these matrices look like this:
  544.  
  545.                            2   3  -.5  -12  9
  546.                            0   5    3   4  -3
  547.                            3   0   -2   0   0
  548.                            1  -1   -1   0   1
  549.  
  550.     Enter these values in order from left to right and top to bottom. For 
  551.     the top equation you will input the COEFFICIENTS 2,3,-.5,12 and then, 
  552.     immediately after, the CONSTANT 9. Do this now if you wish. Then, for the 
  553.     second equation enter the COEFFICIENTS 0,5,3,4 and then the CONSTANT -3. 
  554.     You will do the same for the third and fourth equations. (Notice the 
  555.     displayed keywords COEFFICIENT and CONSTANT as you enter numbers.) Here 
  556.     is what MathPad then calculates: 
  557.  
  558.     (a) the determinant of the coefficient matrix (automatically put into the 
  559.                          MathPad Version 1.0, page 11
  560.  
  561.         x-register).
  562.     (b) the solution to this system, if it exists. You are given the option of 
  563.         storing solutions in Storage Registers you specify. 
  564.     (c) the inverse matrix of the coefficient matrix. This matrix is available 
  565.         for viewing if desired.
  566.  
  567.  
  568. F10: VECTOR MATH. You are asked to enter the x-, y-, and z- coordinates of two 
  569.      vectors. Then these items are calculated: 
  570.  
  571.      (a) the magnitude of each vector.
  572.      (b) the angle in degrees between the vectors.
  573.      (c) the angle in degrees between each vector and the x, y, and z axes.
  574.      (d) the vector sum.
  575.      (e) the vector difference.
  576.      (f) the vector dot product.
  577.      (g) the vector cross product.
  578. ────────────────────────────────────────────────────────────────────────────────
  579.  
  580. ARITHMETIC MENU
  581.                  ┌───────────────────────────────────────────┐
  582.                  │ F1  Add: y+x          F2  Subtract: y-x   │
  583.                  │ F3  Multiply: y∙x     F4  Divide: y/x     │
  584.                  │ F5  x factorial       F6  Reciprocal of x │
  585.                  │ F7  Store             F8  Recall          │
  586.                  │ F9  Interchange x,y   F10 Roll the stack  │
  587.                  └───────────────────────────────────────────┘
  588.  
  589. Pressing F2 from the Main Menu calls up the Arithmetic Menu. 
  590.  
  591. F1: Add. The value in the x-register is added to the value in the y-register.
  592.     The result is placed in the x-register. The stack is "pulled up" so that
  593.                 the y-register contains what was in z-register,
  594.                 the z-register contains what was in t-register,
  595.                 the t-register remains unchanged.
  596.  
  597. F2: Subtract. The value in the x-register is subtracted from the value in the 
  598.     y-register. The result is placed in the x-register. The stack is pulled 
  599.     up.
  600.  
  601. F3: Multiply. The value in the x-register is multiplied by the value in the 
  602.     y-register. The result is placed in the x-register. The stack is pulled 
  603.     up.
  604.  
  605. F4: Divide. The value in the x-register is divided into the value in the 
  606.     y-register. The result is placed in the x-register. The stack is pulled 
  607.     up.
  608.  
  609. F5: x factorial. The factorial of the number in the x-register is calculated
  610.     and pushed onto the stack. 
  611.  
  612. F6: Reciprocal. The reciprocal of the number in the x-register is calculated 
  613.     and replaces the value in the x-register. The stack is not pushed.
  614.  
  615. F7: Store
  616. F8: Recall
  617. F9: Interchange x,y
  618. F10: Roll the stack
  619.                          MathPad Version 1.0, page 12
  620.  
  621. TRIG MENU
  622.                  ┌───────────────────────────────────────────┐
  623.                  │ F1  Utilities         F2  Toggle deg/rad  │
  624.                  │ F3  Sin               F4  Cos             │
  625.                  │ F5  Tan               F6  Hyper & Inverse │
  626.                  │ F7  Store             F8  Recall          │
  627.                  │ F9  Interchange x,y   F10 Roll the stack  │
  628.                  └───────────────────────────────────────────┘
  629.  
  630. Pressing F4 from the Main Menu calls up the Trig Menu.
  631.  
  632. F1: Utilities. See above.
  633.  
  634. F2: Toggle deg/rad. This changes the trigonometric mode from degrees to 
  635.     radians. Notice the Mode Indicator on the same line as the Trig Menu 
  636.     title. This indicator is displayed on all three trig Menus. Toggling here 
  637.     is global, i.e., the mode in coordinate conversion (F3 on Operations Menu) 
  638.     is also toggled. 
  639.  
  640. F3: Sin: Trigonometric sine.
  641.  
  642. F4: Cos: Trigonometric cosine.
  643.  
  644. F5: Tan: Trigonometric tangent.
  645.  
  646.     Sin, Cos, and Tan all replace the value in the x-register; there is 
  647.     no stack push.
  648.  
  649. F6: Hyper and Inverse. Pressing F6 here invokes the hyperbolic and inverse 
  650.     trig functions Menu, explained.
  651.  
  652. F7: Store
  653. F8: Recall
  654. F9: Interchange x,y
  655. F10: Roll the stack
  656. ────────────────────────────────────────────────────────────────────────────────
  657.  
  658. HYPERBOLIC TRIG MENU
  659.                  ┌───────────────────────────────────────────┐
  660.                  │ F1  Utilities         F2  Toggle deg/rad  │
  661.                  │ F3  Hyperbolic Sin    F4  Hyperbolic Cos  │
  662.                  │ F5  Hyperbolic Tan    F6  Inverse Trig    │
  663.                  │ F7  Store             F8  Recall          │
  664.                  │ F9  Interchange x,y   F10 Roll the stack  │
  665.                  └───────────────────────────────────────────┘
  666.  
  667. This Menu is called up by pressing F6 from the Trig Menu.
  668.  
  669. F1: Utilities. See above.
  670.  
  671. F2: Toggle deg/rad. This performs as explained under F2 in the Trig Menu 
  672.     section above.
  673.  
  674. F3: Hyperbolic Sin: Hyperbolic sine.
  675. F4: Hyperbolic Cos: Hyperbolic cosine.
  676. F5: Hyperbolic Tan: Hyperbolic tangent.  
  677.                                    
  678. Hyperbolic Sin, Cos, and Tan all replace the value in the x-register; there is 
  679.                          MathPad Version 1.0, page 13
  680.  
  681. no stack push. 
  682.  
  683. Hyperbolic functions are defined exponentially. For detail see:
  684.  
  685.                        CRC Standard Mathematical Tables
  686.                        27th Edition
  687.                        (c) Copyright 1984 by the CRC Press, Inc.
  688.                        Edited by William H. Beyer
  689.                        Page 172
  690.  
  691. F6: Inverse Trig. Pressing F6 here calls up the Inverse Trig Menu.
  692.  
  693. F7: Store
  694. F8: Recall          
  695. F9: Interchange x,y
  696. F10: Roll the stack
  697. ────────────────────────────────────────────────────────────────────────────────
  698.  
  699. INVERSE TRIG MENU
  700.                  ┌───────────────────────────────────────────┐
  701.                  │ F1  Inverse Sin       F2  Inv Hyper Sin   │
  702.                  │ F3  Inverse Cos       F4  Inv Hyper Cos   │
  703.                  │ F5  Inverse Tan       F6  Inv Hyper Tan   │
  704.                  │ F7  Store             F8  Recall          │
  705.                  │ F9  Interchange x,y   F10 Roll the stack  │
  706.                  └───────────────────────────────────────────┘
  707.                                                       
  708. This Menu is called up by pressing F6 from the Hyperbolic and Inverse Trig 
  709. Menu. 
  710.  
  711. F1: Inverse Sin or Arcsin. This function places into the x-register the 
  712.     quadrant I or IV angle (measured in degrees or radians as selected) whose 
  713.     sine is the value in the x-register. 
  714.  
  715. F3: Inverse Cos or Arcsin. This function places into the x-register the 
  716.     quadrant I or II angle (measured in degrees or radians) whose cosine is 
  717.     the value in the x-register. 
  718.  
  719. F5: Inverse Tan or Arctangent. This function places into the x-register the 
  720.     angle (measured in degrees or radians) whose tangent is the value in the
  721.     x-register. 
  722.  
  723. Inverse Hyperbolic functions are defined logarithmically. For detail see:
  724. CRC Standard Mathematical Tables, 27th Edition (complete reference above). 
  725. Page 181.
  726.  
  727. F2: Inv Hyper Sin (Arcsinh). Inverse hyperbolic sine.
  728.  
  729. F4  Inv Hyper Cos (Arccosh). Inverse hyperbolic cosine. Only the principal 
  730.     value of Arccosh is returned. 
  731.  
  732. F6  Inv Hyper Tan (Arctanh). Inverse hyperbolic tangent.
  733.  
  734. F7: Store
  735. F8: Recall          
  736. F9: Interchange x,y
  737. F10: Roll the stack
  738.  
  739.                          MathPad Version 1.0, page 14
  740.  
  741. INTEGER, FRACTION, ROOTS AND POWERS MENU
  742.                  ┌───────────────────────────────────────────┐
  743.                  │ F1  Integer of x      F2  Fraction of x   │
  744.                  │ F3  Square root of x  F4  x squared       │
  745.                  │ F5  x to the y        F6  x cubed         │
  746.                  │ F7  Store             F8  Recall          │
  747.                  │ F9  Interchange x,y   F10 Roll the stack  │
  748.                  └───────────────────────────────────────────┘
  749.  
  750. This Menu is called up by pressing F5 from the Main Menu.
  751.  
  752. All the functions below act without stack push or pull.
  753.  
  754. F1: Integer. Replaces the value in the x-register with the integer portion of 
  755.     the value in the x-register.
  756.  
  757. F2: Fraction. Replaces the value in the x-register with the decimal portion of
  758.     the value in the x-register.
  759.  
  760. F3: Square root of x. Replaces the value in the x-register with the square 
  761.     root of the value in the x-register.
  762.  
  763. F4: x squared. Replaces the value in the x-register with the square of the 
  764.     value in the x-register.
  765.  
  766. F5: x to the y. Calculates x-register value exponentiated to the y-register 
  767.     value and places this value in the x-register.
  768.  
  769. F6: x cubed. Replaces the value in the x-register with the cube of the value 
  770.     in the x-register. 
  771.  
  772. F7: Store
  773. F8: Recall          
  774. F9: Interchange x,y
  775. F10: Roll the stack
  776. ────────────────────────────────────────────────────────────────────────────────
  777.  
  778. LOGARITHMIC FUNCTIONS MENU
  779.                  ┌───────────────────────────────────────────┐
  780.                  │ F1  Utilities         F2  Log base 2 of x │
  781.                  │ F3  Log base 10 of x  F4  10 to the x     │
  782.                  │ F5  Natural log of x  F6  e to the x      │
  783.                  │ F7  Store             F8  Recall          │
  784.                  │ F9  Interchange x,y   F10 Roll the stack  │
  785.                  └───────────────────────────────────────────┘
  786.  
  787. This Menu is called up by pressing F6 from the Main Menu.
  788.  
  789. F1: Utilities. See above.
  790.  
  791. All the functions below act without stack push or pull.
  792.  
  793. F2: Log base 2 of x. The result of this calculation is the power to which the
  794.     number 2 must be raised in order to equal the value in the x-register.
  795.  
  796. F3: Log base 10 of x. The result of this calculation is the power to which the
  797.     number 10 must be raised in order to equal the value in the x-register.
  798.                          MathPad Version 1.0, page 15
  799.  
  800. F4: 10 to the x. The result of this calculation is the number 10 exponentiated
  801.     to the x-register value.
  802.  
  803. F5  Natural log of x. The result of this calculation is the power to which the
  804.     base of natural logarithms (e) must be raised in order to equal the value
  805.     in the x-register. The value for e used in MathPad is 2.718281828459045
  806.  
  807. F6: e to the x. The result of this calculation is the base of natural 
  808.     logarithms (e) exponentiated to the x-register value.
  809.  
  810. F7: Store 
  811. F8: Recall          
  812. F9: Interchange x,y
  813. F10: Roll the stack
  814. ────────────────────────────────────────────────────────────────────────────────
  815.  
  816. NAVIGATION
  817.  
  818. Below is a tree diagram depicting access routes, via described function keys,
  819. to MathPad Menus. All Menus except those boxed provide direct access to the
  820. Utilities Menu. A carriage return at the diamond input prompt in any Menu 
  821. returns MathPad to the immediately preceding Menu, as shown in the tree 
  822. diagram. A carriage return at the Main Menu has no effect. To leave MathPad,
  823. type an "x" or an "X" at the Main Menu (only). You are asked for confirmation
  824. to quit.
  825.  
  826.     Main Menu ───┬─── Operations Menu
  827.                  │
  828.                  │   ┌──────────────────────────────────────────┐
  829.                  ├───┤ Integer, Fraction, Roots and Powers Menu │
  830.                  │   └──────────────────────────────────────────┘
  831.                  │   ┌─────────────────┐
  832.                  ├───┤ Arithmetic Menu │
  833.                  │   └─────────────────┘
  834.                  │                   ┌───────────────────┐
  835.                  ├─── Trig Menu ─┬───┤ Inverse Trig Menu │
  836.                  │               │   └───────────────────┘
  837.                  │               │
  838.                  │               └─── Hyperbolic Trig Menu
  839.                  │
  840.                  └─── Logarithmic Functions Menu
  841.                          MathPad Version 1.0, page 16
  842.           
  843. Below are Menu function key guides which may be printed and kept handy while 
  844. learning to use MathPad.
  845.  
  846. Main Menu                                     Operations Menu
  847. ┌───────────────────────────────────────────┐ ┌───────────────────────────────────────────┐
  848. │ F1  Utilities         F2  Operations      │ │ F1  Utilities         F2  Statistics      │
  849. │ F3  Arithmetic        F4  Trig functions  │ │ F3  (x,y) to (r,Θ)    F4  Deg to rad      │
  850. │ F5  Int, Frac, Roots  F6  Log functions   │ │ F5  P(y,x), C(y,x)    F6  Define function │
  851. │ F7  Store             F8  Recall          │ │ F7  Integrate         F8  Solve           │
  852. │ F9  Interchange x,y   F10 Roll the stack  │ │ F9  Linear system     F10 Vector math     │
  853. └───────────────────────────────────────────┘ └───────────────────────────────────────────┘ 
  854.  
  855. Arithmetic Menu                               Trig Menu
  856. ┌───────────────────────────────────────────┐ ┌───────────────────────────────────────────┐
  857. │ F1  Add: y+x          F2  Subtract: y-x   │ │ F1  Utilities         F2  Toggle deg/rad  │
  858. │ F3  Multiply: y∙x     F4  Divide: y/x     │ │ F3  Sin               F4  Cos             │
  859. │ F5  x factorial       F6  Reciprocal of x │ │ F5  Tan               F6  Hyper & Inverse │
  860. │ F7  Store             F8  Recall          │ │ F7  Store             F8  Recall          │
  861. │ F9  Interchange x,y   F10 Roll the stack  │ │ F9  Interchange x,y   F10 Roll the stack  │
  862. └───────────────────────────────────────────┘ └───────────────────────────────────────────┘
  863.  
  864. Inverse Trig Menu                             Hyperbolic Trig Menu
  865. ┌───────────────────────────────────────────┐ ┌───────────────────────────────────────────┐
  866. │ F1  Inverse Sin       F2  Inv Hyper Sin   │ │ F1  Utilities         F2  Toggle deg/rad  │
  867. │ F3  Inverse Cos       F4  Inv Hyper Cos   │ │ F3  Hyperbolic Sin    F4  Hyperbolic Cos  │
  868. │ F5  Inverse Tan       F6  Inv Hyper Tan   │ │ F5  Hyperbolic Tan    F6  Inverse Trig    │
  869. │ F7  Store             F8  Recall          │ │ F7  Store             F8  Recall          │
  870. │ F9  Interchange x,y   F10 Roll the stack  │ │ F9  Interchange x,y   F10 Roll the stack  │
  871. └───────────────────────────────────────────┘ └───────────────────────────────────────────┘
  872.  
  873. Integer, Fraction, Roots and Powers Menu      Logarithmic Functions Menu
  874. ┌───────────────────────────────────────────┐ ┌───────────────────────────────────────────┐
  875. │ F1  Integer of x      F2  Fraction of x   │ │ F1  Utilities         F2  Log base 2 of x │
  876. │ F3  Square root of x  F4  x squared       │ │ F3  Log base 10 of x  F4  10 to the x     │
  877. │ F5  x to the y        F6  x cubed         │ │ F5  Natural log of x  F6  e to the x      │
  878. │ F7  Store             F8  Recall          │ │ F7  Store             F8  Recall          │
  879. │ F9  Interchange x,y   F10 Roll the stack  │ │ F9  Interchange x,y   F10 Roll the stack  │
  880. └───────────────────────────────────────────┘ └───────────────────────────────────────────┘
  881.  
  882. Utilities
  883. ┌───────────────────────────────────────────┐
  884. │ 1. Toggle register contents.              │
  885. │ 2. Erase stack.                           │
  886. │ 3. Erase registers.                       │
  887. │ 4. Fix decimal point.                     │
  888. │ 5. DOS shell.                             │
  889. │ 6. Redraw screen.                         │
  890. └───────────────────────────────────────────┘
  891.